﻿using AisEncodingLib.Enums;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AisEncodingLib.Models
{
	public class AisMessageType27
	{
		/// <summary>
		/// 用户ID
		/// </summary>
		public int Mmsi { get; init; }

		/// <summary>
		/// 消息ID
		/// </summary>
		public int MessageType { get; init; }

		/// <summary>
		/// 地面航线
		/// </summary>
		public int CourseOverGround { get; init; }

		/// <summary>
		/// 位置等待时间
		/// False = 0 = 报告的位置等待时间小于5秒
		/// True = 1 = 报告的位置等待时间大于5秒 = 默认
		/// </summary>
		public bool GnssPositionStatus { get; init; }

		/// <summary>
		/// 导航状态
		/// </summary>
		public NavigationStatus NavigationStatus { get; init; }

		/// <summary>
		/// 经度
		/// </summary>
		public double Longitude { get; init; }

		/// <summary>
		/// 纬度
		/// </summary>
		public double Latitude { get; init; }

		/// <summary>
		/// 位置准确度
		/// True = 1 = 高（> 10 m）
		/// False = 0 = 低（< 10 m）
		/// </summary>
		public bool PositionAccuracy { get; init; }

		/// <summary>
		/// RAIM标志
		/// False = 0 = RAIM未使用 = 默认值；
		/// True = 1 = RAIM正在使用
		/// </summary>
		public bool RaimFlag { get; init; }

		/// <summary>
		/// 转发指示符
		/// </summary>
		public int RepeatIndicator { get; init; }

		/// <summary>
		/// 地面航速
		/// </summary>
		public int SpeedOverGround { get; init; }
	}
}
